import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.lang.reflect.Field;

public class SaveObjectFrame {
    // 保存任意对象的静态方法
    public static void saveObject(Object obj) throws Exception {
        PrintStream ps = new PrintStream(new FileOutputStream("Reflection/src/obj.txt",true));
        // 1. 获取Class对象
        Class c1 = obj.getClass();
        String simpleName = c1.getSimpleName();
        ps.println("============"+simpleName+"============");
        // 2. 获取所有字段
        Field[] fields = c1.getDeclaredFields();
        // 3. 遍历所有字段
        for (Field f : fields) {
            // 4-1. 获取字段名
            String fieldName = f.getName();
            //4-2. 获取字段值
            f.setAccessible(true);
            Object fieldValue = f.get(obj);
            // 5.输出至文件
            ps.println(fieldName + "=" + fieldValue);
        }
        ps.close();
    }
}
